import vnode from "./vdom/vnode";
import createElement from "./createElement";
import patchVnode from "./patchVnode";
export default function (oldVnode, newVnode) {
    // 1. 如果节点是真实dom,需要转换为虚拟dom
    if (oldVnode.sel === undefined) {
        oldVnode = vnode(oldVnode.tagName.toLowerCase(), {}, [], undefined, oldVnode);
    }
    // 2. 判断新老节点是不是同一个节点
    if (oldVnode.sel === newVnode.sel) {
        // 是同一个节点
        patchVnode(oldVnode, newVnode);
    } else {
        // 不是同一个节点，需要暴力删除和新增节点
        const parent = oldVnode.elm.parentNode;
        const newElm = createElement(newVnode);
        // 1). 增加新节点
        parent.insertBefore(newElm, oldVnode.elm);
        // 2). 删除旧节点
        parent.removeChild(oldVnode.elm);
    }

}